<template>
  <div />
</template>
<script>
export default {
  created() {
    this.testChange()
  },
  methods: {
    // 树形数据转换
    testChange() {
      const arr = [
        { name: '广东', id: 1, pid: '' },
        { name: '广西', id: 2, pid: '' },
        { name: '深圳', id: 3, pid: 1 },
        { name: '宝安', id: 4, pid: 3 }
      ]
      // 希望转换成树形
      /*
      [
        { name: '广东', id: 1, pid: ''，children:[{ name: '深圳', id: 3, pid: 1 }] },
        { name: '广西', id: 2, pid: '' },
      ]
      */
      //  转换出第一层
      // const newArr = arr.filter((item) => {
      //   if (item.pid === '') {
      //     return true
      //   }
      // })
      const newArr = change(arr, '')

      // 找广东的子集
      // const childArr = arr.filter((item) => {
      //   if (item.pid === 1) {
      //     return true
      //   }
      // })
      const childArr = change(arr, 1)

      // 封装一下
      function change(tempArr, pid) {
        // 返回值=数组.filter(item=>{return boolean   true:返回值添加item})
        return tempArr.filter((item) => {
          if (item.pid === pid) {
            item.children = change(arr, item.id)
            return true
          }
        })
      }

      console.log(newArr, childArr)
    }
  }
}
</script>
<style></style>
